  //在一个数组 nums 中除一个数字只出现一次之外，其他数字都出现了三次。请找出那个只出现一次的数字。 
//
// 
//
// 示例 1： 
//
// 输入：nums = [3,4,3,3]
//输出：4
// 
//
// 示例 2： 
//
// 输入：nums = [9,1,7,9,7,9,7]
//输出：1 
//
// 
//
// 限制： 
//
// 
// 1 <= nums.length <= 10000 
// 1 <= nums[i] < 2^31 
// 
//
// 
// 👍 227 👎 0

  
  package com.ainge.easystudy.leetcode.editor.cn;
  public class ShuZuZhongShuZiChuXianDeCiShuIiLcof{
      public static void main(String[] args) {
           Solution solution = new ShuZuZhongShuZiChuXianDeCiShuIiLcof().new Solution();
      }
      //leetcode submit region begin(Prohibit modification and deletion)
class Solution {
    public int singleNumber(int[] nums) {
        int n = 3;
        int intBitLen = 32;
        int res = 0;
        for (int i = 0; i < intBitLen; i++) {
            int oneCount = 0;
            for (int j = 0; j < nums.length; j++) {
                oneCount += (nums[j] >>> i) & 1;
            }
            if(oneCount % n != 0){
                res |= 1 << i;
            }
        }
        return res;
    }
}
//leetcode submit region end(Prohibit modification and deletion)

  }
